Transactions in Constraint Handling Rules
نویسندگان
چکیده
CHR is a highly concurrent language, and yet it is by no means a trivial task to write correct concurrent CHR programs. We propose a new semantics for CHR, which allows specifying and reasoning about transactions. Transactions alleviate the complexity of writing concurrent programs by offering entire derivations to run atomically and in isolation. We derive several program transformations based on our semantics that transform particular classes of transitional CHR programs to non-transactional ones. These transformations are useful because they obviate a general purpose transaction manager, and may lift unnecessary sequentialization present in the transaction Al semantics.
منابع مشابه
A Rule-Based Specification of Software Transactional Memory
Software Transactional Memory (STM) has the promise to avoid the common pitfalls of locks when writing thread-based concurrent programs. Many papers on the subject deal with low-level implementation details to support the efficient and concurrent execution of multiple transactions. We give a rule-based specification of Software Transactional Memory in terms of Constraint Handling Rules (CHR) wh...
متن کاملProgramming in Constraint Handling Rules
Constraint Handling Rules (CHR) is a concurrent committedchoice constraint programming language, developed in the 1990s for the implementation of constraint solvers. It is traditionally an extension to other programming languages – especially constraint logic programming languages – but has been used increasingly as a general-purpose programming language in the recent past. With CHR, one can sp...
متن کاملWelcome to Constraint Handling Rules
Constraint Handling Rules (CHR) is a declarative concurrent committed-choice constraint logic programming language consisting of guarded rules that transform multisets of relations called constraints until no more change occurs. As an introduction to CHR as a generalpurpose programming language we present some small programs using different programming styles and discuss their properties.
متن کاملSatisfiability Modulo Constraint Handling Rules (Extended Abstract)
Satisfiability Modulo Constraint Handling Rules (SMCHR) is the integration of the Constraint Handling Rules (CHRs) solver programming language into a Satisfiability Modulo Theories (SMT) solver framework. Constraint solvers are implemented in CHR as a set of high-level rules that specify the simplification (rewriting) and constraint propagation behavior. The traditional CHR execution algorithm ...
متن کاملOn Connuence of Constraint Handling Rules on Connuence of Constraint Handling Rules
We introduce the notion of connuence for Constraint Handling Rules (CHR), a powerful language for writing constraint solvers. With CHR one simpliies and solves constraints by applying rules. Connuence guarantees that a CHR program will always compute the same result for a given set of constraints independent of which rules are applied. We give a decidable, suucient and necessary syntactic condi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008